﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>KeyHistory - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The KeyHistory function displays script info and a history of the most recent keystrokes and mouse clicks." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>KeyHistory</h1>

<p>显示脚本信息和最近键击和鼠标点击的历史.</p>

<pre class="Syntax"><span class="func">KeyHistory</span> <span class="optional">MaxEvents</span></pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>MaxEvents</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>省略这个参数可以显示脚本的<a href="../Program.htm#main-window">主窗口</a>, 等同于选择 "View-&gt;Key history" 菜单项.</p>
    <p>否则, 这个参数设置了可以记录在窗口中显示的键盘和鼠标事件的最大数量(默认为 40, 限制为 500). 按键历史也被重置, 但主窗口不显示或刷新. 指定 0 来完全禁用按键历史记录.</p>
  </dd>

</dl>

<h2 id="Remarks">备注</h2>
<p>要禁用按键历史记录, 请使用以下方法:</p>
<pre>KeyHistory 0</pre>
<p>此特性旨在帮助<a href="../Scripts.htm#debug">调试脚本和热键</a>. 通过使用<a href="../KeyList.htm#SpecialKeys">按键列表</a>页面底部描述的步骤, 它还可以用来检测非标准键盘按键的扫描码(知道按键的扫描码就可以把这个按键用在热键中).</p>
<p>滚轮事件(WheelDown, WheelUp, WheelLeft 和 WheelRight) 的虚拟键(VK) 是一些在 AutoHotkey 外没有任何意义的占位符值. 此外, 滚轮事件的扫描码实际上是滚轮转动的格数(通常为 1).</p>
<p>如果脚本没有安装<a href="InstallKeybdHook.htm">键盘钩子</a>, 那么 KeyHistory 窗口将只显示由脚本自己(即不包含用户的) 生成的按键事件. 如果脚本没有安装<a href="InstallMouseHook.htm">鼠标钩子</a>, 那么将不显示鼠标按钮事件. 可以通过脚本主窗口(通过托盘图标中的 "Open" 来访问) 中的 "View-&gt;Key History" 来确定您的脚本是否使用了任何一种钩子. 通过添加下面两行语句中的任何一行或同时添加两行到脚本中, 可以强制安装钩子:</p>
<pre><a href="InstallKeybdHook.htm">InstallKeybdHook</a>
<a href="InstallMouseHook.htm">InstallMouseHook</a></pre>
<p>因为每个击键或鼠标点击都由一个向下的事件和一个向上的事件组成, 所以 KeyHistory 只显示 <em>MaxEvents</em> 所指定的一半的 "完整事件". 例如, 如果脚本调用 <code>KeyHistory 50</code>, 最多可显示 25 个击键和鼠标点击.</p>

<h2 id="Related">相关</h2>
<p><a href="InstallKeybdHook.htm">InstallKeybdHook</a>, <a href="InstallMouseHook.htm">InstallMouseHook</a>, <a href="ListHotkeys.htm">ListHotkeys</a>, <a href="ListLines.htm">ListLines</a>, <a href="ListVars.htm">ListVars</a>, <a href="GetKeyState.htm">GetKeyState</a>, <a href="KeyWait.htm">KeyWait</a>, <a href="../Variables.htm#PriorKey">A_PriorKey</a></p>

<h2 id="Examples">示例</h2>

<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 在主窗口中显示历史信息.</p>
<pre>KeyHistory</pre>
</div>

<div class="ex" id="ExMaxEvents">
<p><a class="ex_number" href="#ExMaxEvents"></a> 导致 <code>KeyHistory</code> 显示最后 00 个而不是 40 个键盘和鼠标事件.</p>
<pre>KeyHistory 100</pre>
</div>

<div class="ex" id="ExDisable">
<p><a class="ex_number" href="#ExDisable"></a> 完全停用按键历史.</p>
<pre>KeyHistory 0</pre>
</div>

</body>
</html>